Spring之auto

您所在的位置:网站首页 auto detect Spring之auto

Spring之auto

2024-01-13 20:44| 来源: 网络整理| 查看: 265



自动检测实现接口出现于远程接口中的原因是避免给调用者提供更多的门。目标对象可能实现了内部调用接口,比如

InitializingBean 或DisposableBean ,这些不想暴露给调用者。

提供所有接口实现的代理

这是配置方便和意外暴露内部方法风险之间的权衡。总是指定一个业务接口不是太麻烦,并且让你位于安全的一边而无需控制指定方法的暴露。

21.9 当选择技术的时候,需要考虑的东西

 这里谈到的每个技术都有自己的缺点。当你选择一项技术的时候你应该仔细考虑你的需求。你暴露的业务和发向封装的对象。

当使用RMI时,通过HTTP协议访问对象是不可能的。除非你打开了RMI的通道。RMI是一个重量级协议,其支持全对象序列化,这对于使用复杂的对象是很重要的,需要在传输的时候序列化。然而,RMI-JRMP绑定在Java客户端上:这是一个Java对Java的远程解决方案。

如果你需要基于HTTP远程但也需要Java序列化,Spring的HTTP调用者是一个好的选择。其与RMI调用者共享基本的设置,仅使用HTTP作为传输。注意HTTP调用器不仅用于Java到Java的远程调用而且用于Java到Spring的的服务器端和客户端两边。(后者也适用于Spring的RMI调用非RMI接口)

Hessian和/或Burlap可能提供有重要意义的值,尤其在异构环境中操作时。因为它们明显允许非Java的客户端。然而,非Java支持仍旧受限。已知的事物包括了Hibernate对象(与延迟初始化集合结合)的序列化。如果你有这样的数据模型,考虑使用RMI或者HTTP调用器,而不是使用Hessian。

JMS对于业务簇有用并且允许JMS作为中间人负责负载均衡,发现和自动故障转移。默认地,当使用JMS远程地时候要使用Java序列化但是了JMS提供器可能对于封装的格式使用一个不同的机制,比如XStream允许服务器用其他的技术实现。

最后了,EJB与RMI相比,其支持基于角色的校验和远程事物传播。可能获取RMI调用器或者HTTP调用器支持安全上下文传播,虽然Spring 核心不提供这样的功能:这里有针对第三方插件或普通解决方案的适合的钩子。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3